<?php

require_once '../db/Conexion.php';
$pokerEstructuraID = 0;

//gestiona la accion solicitada 
function accion_controller() {
    $accion = FALSE;
    $pokerEstructura_peticion = helper_data();
    $accion = $pokerEstructura_peticion['accion'];
    if ($accion) {
        switch ($accion) {
            case 'save' :
                guardar($pokerEstructura_peticion);
                break;
            case 'delete' :
                eliminar($pokerEstructura_peticion['id']);
                break;
            case 'list' :
                listar();
                break;
            case 'listbyEstructura' :
                listarByEstructura($pokerEstructura_peticion['id']);
                break;
            case 'edit' :
                editar($pokerEstructura_peticion['id']);
                break;
        }
    } else {
        die("ERROR: No se recibieron los parametros correspondientes.");
    }
}

//OBTIENE LOS DATOS DE POST
function helper_data() {
    $pokerEstructura = array();

    if (isset($_POST['id']))
        $pokerEstructura['id'] = $_POST['id'];
    if (isset($_POST['poker_torneo_id']))
        $pokerEstructura['poker_torneo_id'] = $_POST['poker_torneo_id'];
    if (isset($_POST['poker_estructura_id']))
        $pokerEstructura['poker_estructura_id'] = $_POST['poker_estructura_id'];
    if (isset($_POST['nivel']))
        $pokerEstructura['nivel'] = $_POST['nivel'];
    if (isset($_POST['ante']))
        $pokerEstructura['ante'] = $_POST['ante'];
    if (isset($_POST['small_blind']))
        $pokerEstructura['small_blind'] = $_POST['small_blind'];
    if (isset($_POST['big_blind']))
        $pokerEstructura['big_blind'] = $_POST['big_blind'];
    if (isset($_POST['duracion']))
        $pokerEstructura['duracion'] = $_POST['duracion'];
    if (isset($_POST['break']))
        $pokerEstructura['break'] = $_POST['break'];
    if (isset($_POST['accion']))
        $pokerEstructura['accion'] = $_POST['accion'];
    return $pokerEstructura;
}

//LISTADO
function listar() {
    $pokerEstructuras = consultar("Select * from poker_estructura_detalles as e ");
    require_once '../view/pokerEstructura/ListPokerEstructuras.php';
}

function listarByTorneoId($torneo_id) {

    $query = "Select * from poker_torneos where id=" . $torneo_id;
    $pokerTorneo = consultar($query);
    $pokerEstructuras = consultar("Select * from poker_estructura_detalles as e where e.poker_torneo_id = $torneo_id");
    require_once '../view/pokerEstructura/ListPokerEstructuraDetalles.php';
}

function listarByEstructura($estructura_id) {




    $pokerEstructuras = consultar("Select e.id, e.poker_estructura_id, e.nivel, e.ante, e.small_blind, e.big_blind, e.duracion, e.break, pe.nombre from poker_estructura_detalles as e 
        LEFT JOIN poker_estructuras pe on pe.id= e.poker_estructura_id
        where e.poker_estructura_id = $estructura_id");
    require_once '../view/pokerEstructura/ListPokerEstructuraDetalles.php';
}

//GUARDAR
function guardar($pokerEstructura_peticion) {
    if (!$pokerEstructura_peticion['id'])
        $existe = consultar("SELECT IFNULL(p.id,0) as id  FROM poker_estructura_detalles as p where p.poker_estructura_id =" . $pokerEstructura_peticion['poker_estructura_id'] . " and p.nivel=" . $pokerEstructura_peticion['nivel']);
    else
        $existe = consultar("SELECT IFNULL(p.id,0) as id  FROM poker_estructura_detalles as p where p.poker_estructura_id =" . $pokerEstructura_peticion['poker_estructura_id'] . " and p.nivel=" . $pokerEstructura_peticion['nivel']." and p.id!=". $pokerEstructura_peticion['id']);

    if ($existe[0]['id'] <= 0) {
        if (!$pokerEstructura_peticion['id']) {
            $query = "INSERT INTO poker_estructura_detalles ( poker_estructura_id, nivel, ante, small_blind, big_blind, duracion,break) VALUES
                        (  " . $pokerEstructura_peticion['poker_estructura_id'] . ",
                           '" . $pokerEstructura_peticion['nivel'] . "',
                           '" . $pokerEstructura_peticion['ante'] . "',
                           '" . $pokerEstructura_peticion['small_blind'] . "',
                           '" . $pokerEstructura_peticion['big_blind'] . "', 
                           '" . $pokerEstructura_peticion['duracion'] . "',       
                           '" . $pokerEstructura_peticion['break'] . "');";
        } else {
            $query = "UPDATE poker_estructura_detalles 
                                 SET poker_estructura_id=" . $pokerEstructura_peticion['poker_estructura_id'] . ",
                                     nivel='" . $pokerEstructura_peticion['nivel'] . "',
                                     ante='" . $pokerEstructura_peticion['ante'] . "',
                                     small_blind='" . $pokerEstructura_peticion['small_blind'] . "', 
                                     big_blind='" . $pokerEstructura_peticion['big_blind'] . "', 
                                     duracion='" . $pokerEstructura_peticion['duracion'] . "', 
                                     break='" . $pokerEstructura_peticion['break'] . "'
                                 WHERE id=" . $pokerEstructura_peticion['id'] . " LIMIT 1;";
        }
        if (ejecutar($query)) {
            listarByEstructura($pokerEstructura_peticion['poker_estructura_id']);
        } else {
            die("Error: No se pudo Guardar el Registro!");
        }
    } else {
        die("Error: Ya existe este nivel!");
    }
}

//ELIMINAR
function eliminar($id) {
    $query = "Select * from poker_estructura_detalles as e where e.id=" . $id;
    $pokerEstructuraLocal = consultar($query);

    $query = "DELETE FROM poker_estructura_detalles WHERE id=" . $id . " LIMIT 1;";
    if (ejecutar($query)) {
        listarByEstructura($pokerEstructuraLocal[0]['poker_estructura_id']);
    } else {
        echo "Error: No se puede Eliminar este registro";
    }
}

//EDITAR
function editar($id) {
    $query = "Select * from poker_estructura_detalles as e where e.id=" . $id;
    $pokerEstructura = consultar($query);
    require_once '../view/pokerEstructura/FormPokerEstructuraDetalle.php';
}

accion_controller();
?>
